package edu.hubu;

public class TypeConvert {
    public static void main(String[] args) {
        int i = 1,j;
//    float f1 = 0.1;   //
        float f1 = 0.1f;
        float f2 = 123;
        long l1 = 12345678;
//    long l2 = 8888888888; //超出了int型的表示范围
        long l2 = 8888888888L;
        double d1 = 2e20;
        double d2 = 124;
//    byte b1 = 1,b2 = 2,b3 = 129;  //129超出byte表示范围
        byte b1 = 1,b2 = 2; int b3 = 129;
//    j = j+10; //j变量未初始化不能直接使用
//    i = i/10; //右边计算后变成了double型
//        i = i/10;   //会造成精度的丢失
//        i = i*0.1;//右边计算后会变成double型
        i = (int) (i*0.1);  //强转后会造成精度的丢失
        char c1 = 'a',c2 = 125;
//    byte b = b1-b2;   //右边计算后变成了int型，需强转
        byte b = (byte) (b1-b2);
//    char c = c1+c2-1; //右边转化成ASCⅡ码计算：97+125-1=221超出了ASCⅡ码的范围
        int c = c1+c2-1;
        float f3 = f1+f2;
//    float f4 = f1+f2*0.1; //f2*0.1变成了double型，右边最后需要强转
        float f4 = (float) (f1+f2*0.1);
//    double d = d1*i+j;    //j未初始化不能进行运算
        float f = (float)(d1*5+d2);
    }
}
